﻿// Bing Maps ASP.NEt Control is a community project available under the Microsoft Public License (Ms-PL)
// Code is provided as is and with no warrenty – Use at your own risk
// View the project and the latest code at http://BingMapsASP.codeplex.com

namespace Microsoft.Live.ServerControls.VE.Constants
{
    internal struct Constant
    {
        public const string VEAPIURL = "dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1";
        public const string HTTP = "http://";
        public const string HTTPS = "https://";
        public const string VESSLParam = "s=1";
    }

    internal struct ExceptionProperty
    {
        public const string ExceptionClientIDReadOnly = "ExceptionClientIDReadOnly";
        public const string ExceptionScriptManager = "ExceptionScriptManager";
        public const string ExceptionPropertyNoSetRunTime = "ExceptionPropertyNoSetRunTime";
    }

    internal struct ControlCategory
    {
        public const string Appearance = "Appearance";
        public const string Features = "Features";
        public const string Traffic = "Traffic";
        public const string Tracking = "Tracking";
        public const string InitialView = "DefaultView";
        public const string Controls = "Controls";
        public const string Birdseye = "Birdseye";
        public const string MiniMap = "MiniMap";
        public const string ClientSideEvents = "ClientSideEvents";
    }

    internal struct ControlProperty
    {
        public const string VEAPINotFound = "VEAPINotFound";
        public const string BrowsersNotSupported = "BrowsersNotSupported";
        public const string Height = "Height";
        public const string Width = "Width";
        public const string Dashboard = "Dashboard";
        public const string DashboardSize = "DashboardSize";
        public const string DisambiguationDialog = "DisambiguationDialog";
        public const string ClearInfoBoxStyles = "ClearInfoBoxStyles";
        public const string Center = "Center";
        public const string EnableShapeDisplayThreshold = "EnableShapeDisplayThreshold";
        public const string FixedMap = "FixedMap";
        public const string Locale = "Locale";
        public const string MapMode = "MapMode";
        public const string MapStyle = "MapStyle";
        public const string MiniMap = "MiniMap";
        public const string MiniMapSize = "MiniMapSize";
        public const string MiniMapXoffset = "MiniMapXoffset";
        public const string MiniMapYoffset = "MiniMapYoffset";
        public const string MouseWheelZoomToCenter = "MouseWheelZoomToCenter";
        public const string NavigationControl3D = "NavigationControl3D";
        public const string ScaleBarDistanceUnit = "ScaleBarDistanceUnit";
        public const string ShapesAccuracy = "ShapesAccuracy";
        public const string ShapesAccuracyRequestLimit = "ShapesAccuracyRequestLimit";
        public const string ShowMapModeSwitch = "ShowMapModeSwitch";
        public const string TileBuffer = "TileBuffer";
        public const string Traffic = "Traffic";
        public const string TrafficLegend = "TrafficLegend";
        public const string TrafficLegendText = "TrafficLegendText";
        public const string TrafficLegendX = "TrafficLegendX";
        public const string TrafficLegendY = "TrafficLegendY";
        public const string ZoomLevel = "ZoomLevel";
        public const string ShowFindControl = "ShowFindControl";
        public const string Altitude = "Altitude";
        public const string Heading = "Heading";
        public const string Pitch = "Pitch";
        public const string FailedShapeRequest = "FailedShapeRequest";
        public const string HTTPS = "HTTPS";
        public const string IsBirdseyeAvailable = "IsBirdseyeAvailable";
        public const string CurrentBirdseyeScene = "CurrentBirdseyeScene";
        public const string MapView = "MapView";
        public const string ClientToken = "ClientToken";
        public const string SendLayersToServer = "SendLayersToServer";        
        
        public const string MapContainerID = "MapContainerID";
        public const string AsyncTriggerID = "AsyncTriggerID";
        public const string MapDataID = "MapDataID";
        public const string CommsFlagID = "CommsFlagID";
        public const string MapChangesID = "MapChangesID";
        public const string CommandsID = "CommandsID";

    }

    internal struct ScriptEvent
    {
        public const string OnClientLoadMap = "OnClientLoadMap";
        public const string OnClientChangeMapStyle = "OnClientChangeMapStyle";
        public const string OnClientChangeView = "OnClientChangeView";
        public const string OnClientEndPan = "OnClientEndPan";
        public const string OnClientEndZoom = "OnClientEndZoom";
        public const string OnClientError = "OnClientError";
        // Issue:27368 - Hidden since this event is to be disabled/removed from the api
        // public const string OnClientInitMode = "OnClientInitMode";
        public const string OnClientModeNotAvailable = "OnClientModeNotAvailable";
        public const string OnClientObliqueChange = "OnClientObliqueChange";
        public const string OnClientObliqueEnter = "OnClientObliqueEnter";
        public const string OnClientObliqueLeave = "OnClientObliqueLeave";
        public const string OnClientResize = "OnClientResize";
        public const string OnClientStartPan = "OnClientStartPan";
        public const string OnClientStartZoom = "OnClientStartZoom";
        public const string OnClientKeyPress = "OnClientKeyPress";
        public const string OnClientKeyDown = "OnClientKeyDown";
        public const string OnClientKeyUp = "OnClientKeyUp";
        public const string OnClientClick = "OnClientClick";
        public const string OnClientDoubleClick = "OnClientDoubleClick";
        public const string OnClientMouseDown = "OnClientMouseDown";
        public const string OnClientMouseMove = "OnClientMouseMove";
        public const string OnClientMouseOut = "OnClientMouseOut";
        public const string OnClientMouseOver = "OnClientMouseOver";
        public const string OnClientMouseUp = "OnClientMouseUp";
        public const string OnClientMouseWheel = "OnClientMouseWheel";
        public const string OnClientFind = "OnClientFind";
        public const string OnClientGetDirections = "OnClientGetDirections";
        public const string OnClientTokenError = "OnClientTokenError";
        public const string OnClientTokenExpire = "OnClientTokenExpire";

        public const string OnServerLoadMap = "OnServerLoadMap";
        public const string OnServerChangeMapStyle = "OnServerChangeMapStyle";
        public const string OnServerChangeView = "OnServerChangeView";
        public const string OnServerEndPan = "OnServerEndPan";
        public const string OnServerEndZoom = "OnServerEndZoom";
        public const string OnServerError = "OnServerError";
        // Issue:27368 - Hidden since this event is to be disabled/removed from the api
        // public const string OnServerInitMode = "OnServerInitMode";
        public const string OnServerModeNotAvailable = "OnServerModeNotAvailable";
        public const string OnServerObliqueChange = "OnServerObliqueChange";
        public const string OnServerObliqueEnter = "OnServerObliqueEnter";
        public const string OnServerObliqueLeave = "OnServerObliqueLeave";
        public const string OnServerResize = "OnServerResize";
        public const string OnServerClick = "OnServerClick";
        public const string OnServerDoubleClick = "OnServerDoubleClick";
        public const string OnServerFind = "OnServerFind";
        public const string OnServerGetDirections = "OnServerGetDirections";
        public const string OnServerTokenError = "OnServerTokenError";
        public const string OnServerTokenExpire = "OnServerTokenExpire";

        public const string Default = "";
    }

    internal struct ShapeProperty
    {
        public const string Altitude = "Altitude";
        public const string AltitudeMode = "AltitudeMode";
        public const string CustomIcon = "CustomIcon";
        public const string CustomIconSpec = "CustomIconSpec";
        public const string Description = "Description";
        public const string FillColor = "FillColor";
        public const string ID = "ID";
        public const string IconAnchor = "IconAnchor";
        public const string LineColor = "LineColor";
        public const string LineToGround = "LineToGround";
        public const string LineWidth = "LineWidth";
        public const string MaxZoomLevel = "MaxZoomLevel";
        public const string MinZoomLevel = "MinZoomLevel";
        public const string MoreInfoURL = "MoreInfoURL";
        public const string PhotoURL = "PhotoURL";
        public const string Points = "Points";
        public const string Title = "Title";
        public const string Type = "Type";
        public const string ZIndex = "ZIndex";
        public const string ZIndexPolyShape = "ZIndexPolyShape";
        public const string Visible = "Visible";
        public const string IconVisible = "IconVisible";
    }

    internal struct ShapeLayerProperty
    {
        public const string ID = "ID";
        public const string Title = "Title";
        public const string Description = "Description";
        public const string Visible = "Visible";
    }

    internal struct TileLayerProperty
    {
        public const string ID = "ID";
        public const string Bounds = "Bounds";
        public const string GetTilePath = "GetTilePath";
        public const string MaxZoom = "MaxZoom";
        public const string MinZoom = "MinZoom";
        public const string NumServers = "NumServers";
        public const string Opacity = "Opacity";
        public const string TileSource = "TileSource";
        public const string ZIndex = "ZIndex";
        public const string Visible = "Visible";
    }

    internal struct LatLongControlProperty
    {
        public const string Latitude = "Latitude";
        public const string Longitude = "Longitude";
        public const string Altitude = "Altitude";
        public const string AltitudeMode = "AltitudeMode";
    }

    internal struct LatLongRectangleControlProperty
    {
        public const string BottomLeftLatLong = "BottomLeftLatLong";
        public const string BottomRightLatLong = "BottomRightLatLong";
        public const string TopLeftLatLong = "TopLeftLatLong";
        public const string TopRightLatLong = "TopRightLatLong";
    }

    internal struct BirdseyeSceneControlProperty
    {
        public const string BoundingRectangle = "BoundingRectangle";
        public const string Height = "Height";
        public const string ID = "ID";
        public const string Orientation = "Orientation";
        public const string ThumbnailFilename = "ThumbnailFilename";
        public const string Width = "Width";
    }

    internal struct ExtenderControlProperty
    {
        public const string MapControlID = "MapControlID";
        public const string ToggleMode = "ToggleMode";
    }

    internal struct TrafficExtenderControlProperty
    {
        public const string ToggleTraffic = "ToggleTraffic";
        public const string ToggleTrafficLegend = "ToggleTrafficLegend";
        public const string ShowTraffic = "ShowTraffic";
        public const string ShowTrafficLegend = "ShowTrafficLegend";
        public const string HideTraffic = "HideTraffic";
        public const string HideTrafficLegend = "HideTrafficLegend";
        public const string TrafficLegendText = "TrafficLegendText";
    }

    internal struct PanExtenderControlProperty
    {
        public const string DeltaX = "DeltaX";
        public const string DeltaY = "DeltaY";
    }

    internal struct SetMapStyleExtenderControlProperty
    {
        public const string MapStyle = "MapStyle";
    }

    internal struct SetMapModeExtenderControlProperty
    {
        public const string MapMode = "MapMode";
    }

    internal struct BirdseyeOrientationExtenderControlProperty
    {
        public const string Orientation = "Orientation";
    }
    internal struct CenterAndZoomExtenderControlProperty
    {
        public const string Mode = "Mode";
        public const string Center = "Center";
        public const string ZoomLevel = "ZoomLevel";
    }
    internal struct View3DExtenderControlProperty
    {
        public const string Mode = "Mode";
        public const string Altitude = "Altitude";
        public const string Heading = "Heading";
        public const string Pitch = "Pitch";
    }
    internal struct ContinuousPanExtenderControlProperty
    {
        public const string X = "X";
        public const string Y = "Y";
    }
}